class Person:
    age = 20

    # 类方法, 第一个参数是cls, 表示类本身, 可以通过cls来访问类的属性和方法, 也可以通过cls来创建新的实例
    @classmethod
    def get_age(cls):
        return cls.age

    @classmethod
    def set_age(cls, age):
        cls.age = age

    # 静态方法
    @staticmethod
    def test():
        return Person.age

    def func():
        print("func")


p = Person()
print(p.get_age())  # 20
Person.set_age(30)
print(Person.get_age())  # 20
print(p.get_age())  # 30
print(Person.test())  # 30
print(p.test())  # 30
p1 = Person()
print(p1.get_age())  # 30
Person.func()  # func
